package com.ruoyi.custom.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 工作审计对象 work_audit
 * 
 * @author ruoyi
 * @date 2024-01-15
 */
public class WorkAudit extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 审计记录ID */
    private String id;

    /** 业务员姓名 */
    @Excel(name = "业务员姓名")
    private String salesmanName;

    /** 业务员ID */
    private Long salesmanId;

    /** 分公司名称 */
    @Excel(name = "分公司名称")
    private String companyName;

    /** 分公司ID */
    private Long companyId;

    /** 部门名称 */
    @Excel(name = "部门名称")
    private String deptName;

    /** 部门ID */
    private Long deptId;

    /** 工作类型 */
    @Excel(name = "工作类型", readConverterExp = "visit=客户拜访,call=电话沟通,contract=合同签署,service=售后服务,training=培训学习")
    private String workType;

    /** 工作内容 */
    @Excel(name = "工作内容")
    private String workContent;

    /** 工作日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "工作日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date workDate;

    /** 工作时长(小时) */
    @Excel(name = "工作时长")
    private BigDecimal workHours;

    /** 客户姓名 */
    @Excel(name = "客户姓名")
    private String customerName;

    /** 客户ID */
    private Long customerId;

    /** 工作地点 */
    @Excel(name = "工作地点")
    private String location;

    /** 审计状态 */
    @Excel(name = "审计状态", readConverterExp = "pending=待审计,auditing=审计中,passed=已通过,rejected=需整改")
    private String auditStatus;

    /** 审计人姓名 */
    @Excel(name = "审计人姓名")
    private String auditorName;

    /** 审计人ID */
    private Long auditorId;

    /** 审计时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "审计时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date auditDate;

    /** 审计结果 */
    @Excel(name = "审计结果", readConverterExp = "passed=通过,rejected=需整改")
    private String auditResult;

    /** 审计评分 */
    @Excel(name = "审计评分")
    private Integer auditScore;

    /** 审计备注 */
    @Excel(name = "审计备注")
    private String auditRemark;

    /** 整改要求 */
    private String requirement;

    /** 整改状态 */
    private String rectificationStatus;

    /** 整改时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date rectificationDate;

    /** 整改说明 */
    private String rectificationRemark;

    /** 工作附件 */
    private String attachments;

    /** 工作标签 */
    private String workTags;

    /** 工作重要性 */
    private String importance;

    /** 工作紧急性 */
    private String urgency;

    /** 工作完成度 */
    private BigDecimal completionRate;

    /** 客户满意度 */
    private Integer customerSatisfaction;

    /** 查询开始日期 */
    private String startDate;

    /** 查询结束日期 */
    private String endDate;

    /** 批量审计ID列表 */
    private String[] auditIds;

    /** 批量审计结果 */
    private String batchResult;

    /** 批量审计备注 */
    private String batchRemark;

    public void setId(String id) 
    {
        this.id = id;
    }

    public String getId() 
    {
        return id;
    }

    public void setSalesmanName(String salesmanName) 
    {
        this.salesmanName = salesmanName;
    }

    public String getSalesmanName() 
    {
        return salesmanName;
    }

    public void setSalesmanId(Long salesmanId) 
    {
        this.salesmanId = salesmanId;
    }

    public Long getSalesmanId() 
    {
        return salesmanId;
    }

    public void setCompanyName(String companyName) 
    {
        this.companyName = companyName;
    }

    public String getCompanyName() 
    {
        return companyName;
    }

    public void setCompanyId(Long companyId) 
    {
        this.companyId = companyId;
    }

    public Long getCompanyId() 
    {
        return companyId;
    }

    public void setDeptName(String deptName) 
    {
        this.deptName = deptName;
    }

    public String getDeptName() 
    {
        return deptName;
    }

    public void setDeptId(Long deptId) 
    {
        this.deptId = deptId;
    }

    public Long getDeptId() 
    {
        return deptId;
    }

    public void setWorkType(String workType) 
    {
        this.workType = workType;
    }

    public String getWorkType() 
    {
        return workType;
    }

    public void setWorkContent(String workContent) 
    {
        this.workContent = workContent;
    }

    public String getWorkContent() 
    {
        return workContent;
    }

    public void setWorkDate(Date workDate) 
    {
        this.workDate = workDate;
    }

    public Date getWorkDate() 
    {
        return workDate;
    }

    public void setWorkHours(BigDecimal workHours) 
    {
        this.workHours = workHours;
    }

    public BigDecimal getWorkHours() 
    {
        return workHours;
    }

    public void setCustomerName(String customerName) 
    {
        this.customerName = customerName;
    }

    public String getCustomerName() 
    {
        return customerName;
    }

    public void setCustomerId(Long customerId) 
    {
        this.customerId = customerId;
    }

    public Long getCustomerId() 
    {
        return customerId;
    }

    public void setLocation(String location) 
    {
        this.location = location;
    }

    public String getLocation() 
    {
        return location;
    }

    public void setAuditStatus(String auditStatus) 
    {
        this.auditStatus = auditStatus;
    }

    public String getAuditStatus() 
    {
        return auditStatus;
    }

    public void setAuditorName(String auditorName) 
    {
        this.auditorName = auditorName;
    }

    public String getAuditorName() 
    {
        return auditorName;
    }

    public void setAuditorId(Long auditorId) 
    {
        this.auditorId = auditorId;
    }

    public Long getAuditorId() 
    {
        return auditorId;
    }

    public void setAuditDate(Date auditDate) 
    {
        this.auditDate = auditDate;
    }

    public Date getAuditDate() 
    {
        return auditDate;
    }

    public void setAuditResult(String auditResult) 
    {
        this.auditResult = auditResult;
    }

    public String getAuditResult() 
    {
        return auditResult;
    }

    public void setAuditScore(Integer auditScore) 
    {
        this.auditScore = auditScore;
    }

    public Integer getAuditScore() 
    {
        return auditScore;
    }

    public void setAuditRemark(String auditRemark) 
    {
        this.auditRemark = auditRemark;
    }

    public String getAuditRemark() 
    {
        return auditRemark;
    }

    public void setRequirement(String requirement) 
    {
        this.requirement = requirement;
    }

    public String getRequirement() 
    {
        return requirement;
    }

    public void setRectificationStatus(String rectificationStatus) 
    {
        this.rectificationStatus = rectificationStatus;
    }

    public String getRectificationStatus() 
    {
        return rectificationStatus;
    }

    public void setRectificationDate(Date rectificationDate) 
    {
        this.rectificationDate = rectificationDate;
    }

    public Date getRectificationDate() 
    {
        return rectificationDate;
    }

    public void setRectificationRemark(String rectificationRemark) 
    {
        this.rectificationRemark = rectificationRemark;
    }

    public String getRectificationRemark() 
    {
        return rectificationRemark;
    }

    public void setAttachments(String attachments) 
    {
        this.attachments = attachments;
    }

    public String getAttachments() 
    {
        return attachments;
    }

    public void setWorkTags(String workTags) 
    {
        this.workTags = workTags;
    }

    public String getWorkTags() 
    {
        return workTags;
    }

    public void setImportance(String importance) 
    {
        this.importance = importance;
    }

    public String getImportance() 
    {
        return importance;
    }

    public void setUrgency(String urgency) 
    {
        this.urgency = urgency;
    }

    public String getUrgency() 
    {
        return urgency;
    }

    public void setCompletionRate(BigDecimal completionRate) 
    {
        this.completionRate = completionRate;
    }

    public BigDecimal getCompletionRate() 
    {
        return completionRate;
    }

    public void setCustomerSatisfaction(Integer customerSatisfaction) 
    {
        this.customerSatisfaction = customerSatisfaction;
    }

    public Integer getCustomerSatisfaction() 
    {
        return customerSatisfaction;
    }

    public void setStartDate(String startDate) 
    {
        this.startDate = startDate;
    }

    public String getStartDate() 
    {
        return startDate;
    }

    public void setEndDate(String endDate) 
    {
        this.endDate = endDate;
    }

    public String getEndDate() 
    {
        return endDate;
    }

    public void setAuditIds(String[] auditIds) 
    {
        this.auditIds = auditIds;
    }

    public String[] getAuditIds() 
    {
        return auditIds;
    }

    public void setBatchResult(String batchResult) 
    {
        this.batchResult = batchResult;
    }

    public String getBatchResult() 
    {
        return batchResult;
    }

    public void setBatchRemark(String batchRemark) 
    {
        this.batchRemark = batchRemark;
    }

    public String getBatchRemark() 
    {
        return batchRemark;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("salesmanName", getSalesmanName())
            .append("salesmanId", getSalesmanId())
            .append("companyName", getCompanyName())
            .append("companyId", getCompanyId())
            .append("deptName", getDeptName())
            .append("deptId", getDeptId())
            .append("workType", getWorkType())
            .append("workContent", getWorkContent())
            .append("workDate", getWorkDate())
            .append("workHours", getWorkHours())
            .append("customerName", getCustomerName())
            .append("customerId", getCustomerId())
            .append("location", getLocation())
            .append("auditStatus", getAuditStatus())
            .append("auditorName", getAuditorName())
            .append("auditorId", getAuditorId())
            .append("auditDate", getAuditDate())
            .append("auditResult", getAuditResult())
            .append("auditScore", getAuditScore())
            .append("auditRemark", getAuditRemark())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
